SELECT * FROM (
    SELECT 
        p.name AS provider_name, 
        i.name AS item_name, 
        h.profit, 
        h.roi, 
        h.date,
        RANK() OVER (ORDER BY h.profit DESC) as rank_profit,
        RANK() OVER (ORDER BY h.roi DESC) as rank_roi,
        RANK() OVER (ORDER BY h.date DESC) as rank_rotation
    FROM item_provider_behaivor_history h
    JOIN provider p ON h.provider_id = p.id
    JOIN item i ON h.item_id = i.id
    -- Filtro dinámico: desde hoy hacia atrás 90 días
    WHERE h.date >= DATE_SUB(CURDATE(), INTERVAL 90 DAY)
) as ranked_data
WHERE rank_profit <= 10 
   OR rank_roi <= 10 
   OR rank_rotation <= 10
ORDER BY rank_profit ASC LIMIT 10;